/*
给定一个数，请将该数各个位上数字反转得到一个新数。
这次与NOIp2011普及组第一题不同的是：这个数可以是小数，分数，百分数，整数。整数反转是将所有数位对调；
小数反转是把整数部分的数反转，再将小数部分的数反转，不交换整数部分与小数部分；分数反转是把分母的数反转，
再把分子的数反转，不交换分子与分母；百分数的分子一定是整数，百分数只改变数字部分。整数新数也应满足整数的常见形式，
即除非给定的原数为零，否则反转后得到的新数的最高位数字不应为零；小数新数的末尾不为0（除非小数部分除了0没有别的数，
那么只保留1个0）；分数不约分，分子和分母都不是小数（约分滴童鞋抱歉了，不能过哦。输入数据保证分母不为0），本次没有负数。
*/
#include <iostream>
#include <cstring>
using namespace std;

void reverse1(char str[], int m, int n)
{
    for (int i = m, j = n; i < j; i++, j--)
    {
        char temp = str[i];
        str[i] = str[j];
        str[j] = temp;
    }
}
void adjustment(char str1[], char str2[], int L, int m, char fuhao)
{
    if ((fuhao == 'z') || (fuhao == '%'))
    {
        bool zero = false;
        int zeronum = 0;
        if (str1[0] == '0')
            zero = true;
        zero++;
        for (int i = 0; i < L; i++)
        {
            if (zero == true)
            {
                if ((zero == true) && (str1[i + 1] == '0'))
                {
                    zero = true;
                    zeronum++;
                }
                else
                {
                    zero = false;
                }
            }
        }
        for (int i = zeronum + 1, j = 0; i < L; i++, j++)
        {
            str2[j] = str1[i];
        }
    }
    else if (fuhao == '.')
    {
    }
}
int main()
{
    int a = 20, b = 0;
    char fuhao = 'z';
    char str1[20], str2[20] = {0};
    cin >> str1;
    int length = strlen(str1);
    cout << "数组长度：" << length << endl;

    for (int i = 0; i < length; i++)
    {
        if (str1[i] == '/')
        {
            b = i;
            fuhao = '/';
            cout << "运算符在数组中位置：" << i << endl;
            reverse1(str1, 0, i - 1);
            reverse1(str1, i + 1, length - 1);
            break;
        }
        else if (str1[i] == '.')
        {
            b = i;
            fuhao = '.';
            cout << "运算符在数组中位置：" << i << endl;
            reverse1(str1, 0, i - 1);
            reverse1(str1, i + 1, length - 1);
            break;
        }
        else if (str1[i] == '%')
        {
            b = i;
            fuhao = '%';
            cout << "运算符在数组中位置：" << i << endl;
            if (i == length - 1)
                reverse1(str1, 0, length - 2);
            break;
        }
        else
        {
        }
    }
    if (fuhao == 'z')
    {
        reverse1(str1, 0, length - 1);
    }
    cout << str1 << endl;
    adjustment(str1, str2, length, b, fuhao);
    cout << str2 << endl;
    return 0;
}

void adjustment1(char str1[], char str2[], int L, int m, char fuhao)
{
    int c = false;
    if (str1[0] == '0')
        c = true;
    for (int i = 0, j = 0; i < L; i++)
    {
        if (i == m - 1)
        {
            i = m + 1;
        }
        if (c == false)
        {
            str2[j] = str1[i];
            j++;
        }
        else
        {
            str1[i + 1] == '0' ? c = true : c = false;
        }
    }
}